﻿//一、一个事件多个订阅

//using System;
//using System.Windows.Forms;

//namespace cs_basic_12
//{
//    class Program
//    {
//        static void Main()
//        {
//            Form form = new Form();
//            Controller controller = new Controller(form);
//            form.ShowDialog();
//        }
//    }
//    class Controller
//    {
//        private Form form;
//        public Controller(Form form)
//        {
//            if (form != null)
//            {
//                this.form = form;
//                this.form.Click += this.FormClicked;
//            }
//        }

//        private void FormClicked(object sender, EventArgs e)
//        {
//            this.form.Text = DateTime.Now.ToString();
//        }
//    }
//}

//二、自己订阅自己
//using System;
//using System.Windows.Forms;

//namespace cs_basic_12
//{
//    class Program
//    {
//        static void Main(string[] args)
//        {
//            MyForm myForm = new MyForm();
//            myForm.Click += myForm.FormClicked;
//            myForm.ShowDialog();
//        }
//    }
//    class MyForm : Form
//    {
//        internal void FormClicked(object sender, EventArgs e)
//        {
//            this.Text = DateTime.Now.ToString();
//        }
//    }
//}

//三、订阅自己字段成员的某个事件
//using System;
//using System.Windows.Forms;

//namespace cs_basic_12
//{
//    class Program
//    {
//        static void Main()
//        {
//            MyForm myForm = new MyForm();
//            myForm.ShowDialog();
//        }
//    }
//    class MyForm : Form
//    {
//        private TextBox textBox;
//        private Button button;
//        public MyForm()
//        {
//            this.textBox = new TextBox();
//            this.button = new Button();
//            this.Controls.Add(this.textBox);
//            this.Controls.Add(this.button);
//            this.button.Click += this.ButtonClicked;
//            this.button.Text = "say hellow";
//            this.button.Top = 100;
//        }

//        private void ButtonClicked(object sender, EventArgs e)
//        {
//            this.textBox.Text = "hellow";
//        }
//    }
//}